package com.micro.train.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.micro.train.entity.TrainCarriage;

import java.util.List;

/**
 * 列车车厢服务接口
 * 
 * @author micro
 * @since 1.0.0
 */
public interface TrainCarriageService extends IService<TrainCarriage> {

    /**
     * 根据列车ID获取车厢列表
     * 
     * @param trainId 列车ID
     * @return 车厢列表
     */
    List<TrainCarriage> getCarriagesByTrainId(Long trainId);

    /**
     * 根据车厢类型获取车厢列表
     * 
     * @param carriageType 车厢类型
     * @return 车厢列表
     */
    List<TrainCarriage> getCarriagesByType(Integer carriageType);

    /**
     * 根据列车ID和车厢类型获取车厢列表
     * 
     * @param trainId 列车ID
     * @param carriageType 车厢类型
     * @return 车厢列表
     */
    List<TrainCarriage> getCarriagesByTrainIdAndType(Long trainId, Integer carriageType);
}
